Control device for machine tool performing oscillation cutting

ABSTRACT

A control part of a control device includes a learning controller and a learning determination part. The learning controller performs learning control in which a correction amount of a resultant command is obtained, based on an oscillation phase obtained from an oscillation command and the resultant command, and the correction amount is added to the resultant command. The learning determination part determines whether or not the oscillation amplitude of the oscillation command is smaller than a predetermined threshold, and when the oscillation amplitude is smaller than the predetermined threshold value, the learning determination part both sets the oscillation command generated by an oscillation command generation part to zero and turns off the learning control or only turns off the learning control.

BACKGROUND OF THE INVENTION 1. Field of the Invention

The present invention relates to a control device for a machine tool which performs oscillation cutting.

2. Description of the Related Art

When swarf is continuously generated during the machining of a workpiece using the cutting tool of a machine tool, the swarf may become entangled with the cutting tool. In such a case, it is necessary to stop the machine tool in order to remove the swarf from the cutting tool, which is time consuming and reduces production efficiency. Further, there is a risk that the workpiece may be damaged by the swarf, reducing the quality of the workpiece.

In order to avoid such drawbacks, oscillation cutting, in which swarf is shredded by oscillating the cutting tool relative to the workpiece in the machining feed direction, is known (refer to, for example, Japanese Patent No. 5033929, Japanese Patent No. 5139592, or Japanese Patent No. 5599523).

Regarding the oscillation cutting described above, techniques for avoiding the problem that the cutting tool cuts beyond a predetermined machining stop position by reducing the oscillation amplitude of the cutting tool as the cutting tool approaches the predetermined machining stop position on the workpiece in the machining feed direction have been proposed (refer to, for example WO 2016/047485). Hereinafter, such a problem will be referred to as overshoot.

Furthermore, in machine tools, learning control has been proposed to increase the positional accuracy of driven objects such as cutting tools or workpieces driven by servo motors (refer to, for example, FIG. 6 of Japanese Unexamined Patent Publication (Kokai) No. 2006-172149). Learning control is a control in which, with respect to a signal to command a driven body to perform the same pattern of operations at a predetermined period, a correction amount necessary to correct position deviation, which is the difference between the position command value and the position feedback value, and the correction amount which has been obtained one period prior is applied to the position deviation. By repeatedly performing this learning control for the same pattern of the periodic operations, a correction amount for converging the position deviation to zero can be obtained.

In a machine tool that performs the above-mentioned oscillation cutting, if there is backlash in the drive mechanism part of the cutting tool or workpiece or when the rigidity of the drive mechanism part is low, vibration is generated if the control gain is set high in order to improve the responsiveness of the servo, such that the position accuracy of tool or workpiece may not be stable. In such a case, even though it is difficult to improve the responsiveness of the servo, if learning control is applied to the oscillation cutting, it is possible to achieve high-precision control for the periodic motion commands that relatively oscillate the tool or workpiece in the machining feed direction.

SUMMARY OF THE INVENTION

However, if the oscillation amplitude of the cutting tool is reduced as the cutting tool approaches the machining end point on the workpiece in the machining feed direction, in order to prevent overshoot as described above, the oscillation pattern for each predetermined period is gradually decreased from the period prior to the machining end point. As described above, learning control is a control of applying the correction amount obtained in the repeated operation pattern one period prior to the position deviation. Thus, when learning control is applied to the oscillation control, even if a command of the oscillation pattern not exceeding the machining end point is outputted as the operation command at the machining end point, the correction amount in the oscillation pattern one cycle before is applied to the operation command, bringing about a problem in that overshoot cannot be prevented. If a portion of the workpiece is in front of the tool the machining feed direction, an unintended cut can occur in the workpiece due to overshoot. In view of such problems due to overshoot, as well, higher precision oscillation cutting is desired.

An aspect of the present disclosure provides a control device for controlling a machine tool for cutting an outer peripheral surface or an inner peripheral surface of a workpiece with a tool, the machine tool having a spindle for performing a relative rotation between the workpiece and the tool around a central axis of the workpiece, and at least one feed axis for performing a relative feeding between the tool and the workpiece along a generatrix of the outer peripheral surface or the inner peripheral surface of the workpiece, the control device including:

a position command generation part for generating a position command for the at least one feed axis based on a relative rotation speed of the workpiece and the tool and a relative feed speed of the tool and the workpiece; and a feed axis control part that controls the at least one feed axis according to the position command, the feed axis control part having an oscillation command generation part that generates an oscillation command for the at least one feed axis based on the rotation speed and the position command such that the tool intermittently cuts the workpiece at an oscillation frequency which is a positive non-integral multiple of the rotation speed, and the feed axis control part being configured to control the at least one feed axis based on a resultant command obtained by adding the oscillation command to a position deviation, which is a difference between the position command and an actual position of the at least one feed axis, the feed axis control part further comprising: a learning controller that obtains a correction amount of the resultant command based on an oscillation phase obtained from the oscillation command and the resultant command and which adds the correction amount to the resultant command; and a determination part which determines whether or not an oscillation amplitude of the oscillation command is smaller than a predetermined threshold value, and when the oscillation amplitude is smaller than the predetermined threshold value, the determination part turns off the learning controller and sets the oscillation command generated by the oscillation command generating part to zero or only turns off the learning controller.

According to the above-mentioned aspect, since learning control is applied to oscillation cutting, compliance with the oscillation command can be enhanced. Further, the problem of overshoot can be solved.

The objects, features and advantages of the present invention, as well as other objects, features and advantages will be further clarified from the detailed description of the representative embodiments of the present disclosure as shown in the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a drawing of a machining system including a control device of an embodiment.

FIG. 2 is a flowchart showing the operation of the control device of the embodiment.

FIG. 3 is a drawing of another machining system including the control device of the embodiment.

FIG. 4A is a drawing showing a cylindrical workpiece and a tool.

FIG. 4B is another view showing a workpiece having a frustoconical hollow portion and a tool.

FIG. 5 is a drawing showing the relationship between the feed amount and the rotation angle.

FIG. 6 is a block diagram showing a specific example of a control device having a learning control function.

FIG. 7 is a block diagram showing a configuration example of the learning controller shown in FIG. 6.

FIG. 8A is a drawing showing the actual behavior of the tool near the machining end point in the case where the control part of the control device shown in FIG. 6 does not have a learning determination part.

FIG. 8B is a view showing the time change of the position command per unit time and the time variation of the oscillation amplitude, corresponding to FIG. 8A.

FIG. 9A is a drawing showing the actual behavior of the tool near the machining end point in the case of a control device (FIG. 6) having a learning determination part.

FIG. 9B is a drawing showing the time change of the position command per unit time and the time variation of the oscillation amplitude, corresponding to FIG. 9A.

DETAILED DESCRIPTION

Then, the embodiments of the present disclosure will be described with reference to the drawings. In the referenced drawings, the same components or functional elements are given the same reference numerals. For the ease of understanding, the drawings have been modified in scale. Further, the embodiments shown in the drawings are only examples for carrying out the present invention, and the present invention is not limited to the illustrated embodiments.

FIG. 1 is a drawing showing a machining system 1 including a control device 20 of the embodiment. As shown in FIG. 1, the machining system 1 includes a machine tool 10, and a control device 20 which controls the machine tool 10. The machine tool 10 includes a tool 11, and the tool 11 cuts a workpiece having, for example, a cylindrical shape, a columnar shape, a conical shape, a truncated conical shape, or the like. In the example shown in FIG. 1, the tool 11 is intended to cut the outer surface of the columnar body of the workpiece W, the greater part of which is columnar. Furthermore, in FIG. 1, etc., the center axis of the workpiece, which is the rotation axis of the workpiece, is defined as the Z axis, and the axis perpendicular to the Z axis is defined as the X axis. The machine tool 10 can also cut the outer surface or the inner surface of a workpiece, such as a columnar body, having an elliptical cross section if the position of the tool 11 in the X axis direction is appropriately adjusted.

FIG. 1 shows a substantially columnar workpiece W having a projection 35 projecting radially outwardly from workpiece W at the end of the outer surface thereof. The spindle M0 of the machine tool 10 rotates the workpiece W about its central axis. The feed axis M1 of the machine tool 10 moves the tool 11 along the generatrix of the outer surface of the workpiece W, and reciprocates, i.e., oscillates, the tool 11 along the generatrix of the outer surface of the workpiece W. In the case of a workpiece shaped as shown in FIG. 1, the tool 11 is moved along the generatrix of the cylindrical body constituting the greater part of the workpiece W.

The feed axis M1 includes a feeding mechanism for the tool 11 and a servo motor to drive the feeding mechanism. The feed axis M1 cooperates with the spindle M0 to feed the tool 11 and cut the workpiece W. Note that though the required torque for the spindle M0 and the feed axis M1 can be estimated, excluding the cutting load, from inertia and the angular acceleration of the command, detectors G0, G1 and G2 for detecting torque may be provided.

The control device 20 may be composed of a computer including a memory such as ROM (read-only memory) or RAM (random access memory), a CPU (central processing unit), and a communication control part, which are connected to each other through buses. Further, the control device 20 includes a position command generation part 22, a control part 26 (feed axis control part), and a machining conditions storage part 29, and the function or operation of each of these parts can be achieved through cooperation of the CPU, the memory, and the control program stored in the memory installed in the computer.

In the control device 20, the machining conditions storage part 29 stores at least the machining conditions of the workpiece W. A host computer (not shown), such as a CNC (computer numerical controller), a PLC (programmable logic controller), or the like, is connected to the control device 20, and the machining conditions may be input to the machining conditions storage part 29 from the host computer. The machining conditions of the workpiece W include the rotation speed of the workpiece W and the feed speed of the machine tool 10. Furthermore, the machining conditions storage part 29 stores the machining program executed by the tool 11, and the CPU in the control device 20 may read the rotation speed of the workpiece W and the feed speed of the tool 11 from the machining program and output the same to the position command generation part 22 or the control part 26. The machining conditions storage part 29 and the position command generation part 22 may be provided not in the control device 20 but in the above host computer.

The position command generation part 22 of the control device 20 has the function of generating the position command of the feed axis M1 based on the relative rotation speed of the workpiece W and the tool 11 about the center axis of the workpiece W and the relative feed speed of the tool 11 and the workpiece W. This position command is an instruction to furnish the control part 26 with the target position when the tool 11 and the workpiece W are moved relatively in the Z axis direction.

The control part 26 of the control device 20 includes an oscillation command generation part 23 (refer to FIG. 6) which generates an oscillation command of the feed axis M1 based on the above-described rotation speed and position command so that the oscillation frequency becomes a positive, non-integral multiple with respect to the above-described rotation speed, and the tool 11 intermittently cuts the workpiece W. The oscillation command is a periodic command created so as to be asynchronous to the rotation speed about the central axis described above, and includes an oscillation frequency and an oscillation amplitude. In Formula (1) of the oscillation command, which is described later, the value obtained from the expression S/60×I corresponds to the oscillation frequency, and the value obtained from the expression K×F/2 corresponds to the oscillation amplitude.

Note that, intermittent cutting means that the tool 11 cuts the workpiece W while periodically contacting with and separating from the workpiece W, which is also referred to as oscillation cutting or vibration cutting. Furthermore, the workpiece W in FIG. 1 rotates and the tool 11 oscillates with respect to the workpiece W. However, the tool 11 may rotate about the center axis of the workpiece W, and the workpiece W may oscillate with respect to the tool 11. Furthermore, in FIG. 1, both the feeding operation and the oscillation operation of the workpiece W are performed by a single feed axis M1, but a configuration in which the feeding operation and the oscillation operation of the workpiece W are performed by separate feed axes may also be used.

Further, the control part 26 of the control device 20 has a function of controlling the feed axis M1 based on a resultant command (for example, a position command value) obtained by adding the oscillation command to the position deviation, which is the difference between the position command and the actual position of the feed axis M1. The actual position of the feed axis M1 corresponds to a position feedback value obtained by a position detector (not shown), such as an encoder mounted on the feed axis M1.

The above-described control part 26 has a function of performing learning control to obtain a correction amount of the resultant command, based on an oscillation phase obtained from the oscillation command and the above resultant command, and to add the correction amount to the resultant command. This function corresponds to the learning controller 30 (refer to FIG. 6), which will be described later.

FIG. 2 is a flowchart showing the operation of the control device 20 of the embodiment. First, in step S11 of FIG. 2, the position command generation part 22 generates a position command of the feed axis M1 based on the rotation speed of the workpiece W and the feed speed of the tool 11 stored in the machining conditions storage part 29.

Further, in step S12, the oscillation command generation part 23 (refer to FIG. 6) in the control part 26 generates an oscillation command based on the above-described rotation speed and position command. In the example shown in FIG. 1, since the tool 11 oscillates only along the center axis of the workpiece W, only an oscillation command for the feed axis M1 is generated.

FIG. 3 is a drawing showing another machining system including the control device 20 of the present embodiment. In the example shown in FIG. 3, a truncated conical workpiece W is arranged. In this case, the tool 11 is configured to cut the outer surface of the workpiece W by oscillating obliquely along the generatrix of the outer surface of the workpiece W. Since the tool 11 moves in a resultant direction of the X axis direction and the Z axis direction, in order to move the tool 11, two feed axes M1 and M2 and control parts 26 for each of these feed axes are required. The feed axis M2 also includes a feed mechanism and a servomotor for driving the feed mechanism. The feed axes M1 and M2 cooperate with the spindle M0 and feed the tool 11 to cut the workpiece W. In such a case, in step S12, oscillation commands for the two feed axes M1 and M2 are generated by the oscillation command generation part 23 of the control part 26 of each of the feed axes M1 and M2.

Note that though the required torque for the feed axis M2 can also be estimated from inertia and the angular acceleration of the command, excluding the cutting load, a detector G2 for detecting torque may be provided. Further, a configuration in which the tool 11 is fed by a plurality of feed axes and control parts for each of the feed axis may be used.

FIG. 4A shows a cylindrical workpiece and a tool different from FIG. 1. In FIG. 4, the tool 11 oscillates along the generatrix of the inner surface of the cylindrical workpiece W and cuts the inner surface thereof. In such a case, since the feed axis M1 is the only motor used to oscillate the tool 11, an oscillation command only for the feed axis M1 is generated in step S12.

In contrast thereto, FIG. 4B shows a workpiece having a frustoconical hollow portion and a tool. In FIG. 4B, the tool 11 moves along the generatrix of the inner surface of the workpiece W having a frustoconical hollow portion and cuts the inner surface thereof. In such a case, as described above, two feed axes M1 and M2 and a control part 26 for each of these feed axes are required, and in step S12, the oscillation commands for the two feed axes M1 and M2 are generated by the oscillation command generation part 22 of the control parts 26 of the respective feed axes M1 and M2.

A case where the tool 11 cuts the outer surface of a columnar body portion of the workpiece W as shown in FIG. 1 will be described below. The explanation below is substantially the same as the cases shown in FIG. 3, FIG. 4A, and FIG. 4B.

FIG. 5 is a drawing showing the relationship between the feed amount and the rotation angle. In FIG. 5, the horizontal axis shows the rotation angle of the workpiece W, and the vertical axis shows the feed amount of the tool 11 in the direction of the center axis of the workpiece W (i.e., the Z axis direction). In FIG. 5, a plurality of linear dashed lines C1, C2, C3 . . . extending in the oblique direction are shown. As can be seen from FIG. 5, the vertical axis coordinate of the intersection between the dashed line C1 and the vertical axis corresponds to the vertical axis coordinate at the start point of the next dashed line C2. Similarly, the vertical axis coordinate of the intersection between the dashed line C2 and the vertical axis corresponds to the vertical axis coordinate at the start point of the next dashed line C3. The plurality of linear dashed lines C1, C2, C3 . . . indicate the trajectory of the tool 11 on the workpiece W in the absence of an oscillation command. The curves A1, A2, A3 . . . shown in FIG. 5 indicate the trajectory of the tool 11 on the workpiece W in the presence of the oscillation command. In other words, the dashed lines C1, C2, C3, etc., indicate only the position commands before the oscillation commands are added thereto (the original command value), and the curves A1, A2, A3, etc., show the position commands after the oscillation commands have been added thereto. Therefore, the curves A1, A2, A3 indicate commands obtained by adding the cosine wave-like oscillation commands to the respective position commands represented by the dashed lines C1, C2, C3.

Furthermore, curve A1 is the trajectory of the tool 11 in the first rotation of workpiece W, curve A2 is the trajectory of tool 11 in the second rotation of workpiece W, and curve A3 is the trajectory of tool 11 in the third rotation of workpiece W. For the sake of simplicity, the trajectories of the tool 11 after the fourth rotation of the workpiece W are not shown.

In step S12 of FIG. 2, the oscillation command generation part 23 (refer to FIG. 6) in the control part 26 generates an oscillation command as follows. In the position command part 22, the position command (dashed lines C1, C2 and C3) of the feed axis M1 is determined. The oscillation command generation part 23 determines the oscillation frequency of the cosine wave-like oscillation command in order to generate commands like the curves A1, A2, and A3 with the dashed lines C1, C2 and C3 as references axes. The value obtained from the expression S/60×I of Formula (1), which is described later, corresponds to the oscillation frequency.

When determining the above-described oscillation frequency, as shown in FIG. 5, it is preferable that the initial phase of the cosine wave-like curve A2 using a predetermined dashed line, for example, dashed line C2, as a reference axis deviate by a half cycle from the cosine wave-like curve A1 using the preceding dashed line, for example, dashed line C2, as the reference axis. The reason for this is that when the period deviates by half, the oscillation amplitude of the oscillation command can be minimized, and as a result, swarf can be most efficiently shredded.

Then, the oscillation command generation part 23 determines the oscillation amplitude of the above-mentioned oscillation command in order to generate commands such as the curves A1, A2 and A3 using the dashed lines C1, C2 and C3 as reference axes. The value obtained from the expression K×F/2 in Formula (1), which will be described later, is the oscillation amplitude. Curve A1 and curve A2 shown in FIG. 5 overlap each other at portion B1, where the rotation angle is about 0 degrees, and portion B2, where the rotation angle is about 240 degrees. As can be seen from FIG. 5, the maximum values of curve A1 with respect to dashed line C1 are larger than the minimum values of curve A2 with respect to dashed line C2 at portions B1 and B2. In other words, the oscillation command generation part 23 preferably determines the oscillation amplitude so that the previous curve A1 and the succeeding curve A2 partially overlap each other. In curves A1, A2 and A3, since the feed speed is constant, the oscillation amplitude of each oscillation command is also the same.

At the overlapping portions B1 and B2, since the tool 11 separates from the workpiece W when the tool 11 is machining with the trajectory of curve A2, the workpiece W is not machined. In the present embodiment, since such overlapping portions are periodically generated, so-called intermittent cutting can be performed. In the example shown in FIG. 5, swarf is generated at each of portions B1 and B2 by the operation according to curve A2. In the second rotation curve A2, swarf is generated twice. Since such intermittent cutting is performed periodically, vibration cutting becomes possible.

Further, curve A3 formed with respect to dashed line C3 has the same shape as curve A1. Curve A2 and curve A3 overlap at portion B3 corresponding to a rotation angle of about 120 degrees and at portion B4 corresponding to a rotation angle of about 360 degrees. Swarf is generated at each of portions B3 and B4 by the operation according to curve A3. Swarf is generated twice in the third rotation curve A3. Thereafter, swarf is generated twice for each rotation of the workpiece. However, no swarf is generated in the first rotation.

By setting the oscillation frequency and the oscillation amplitude in this manner, the oscillation command generation part 23 (refer to FIG. 6) in the control part 26 generates the oscillation command (step S12).

For example, the oscillation command is represented by the following formula.

Oscillation command=(K×F/2)×cos(2π×S/60×I×t)−(K×F/2)  Formula (1)

In Formula (1), K is the oscillation amplitude magnification, F is the movement amount of the tool 11 per rotation of the workpiece W, i.e., the feed amount per rotation [mm/rev], S is the rotation speed [min⁻¹], or [rpm] around the center axis of workpiece W, and I is the oscillation frequency magnification.

The aforementioned oscillation frequency corresponds to the expression S/60×I in Formula (1), and the aforementioned oscillation amplitude corresponds to the expression K×F/2 in Formula (1). The oscillation amplitude magnification K is an integer of 1 or more, and the oscillation frequency magnification I is a non-integer larger than zero (for example, a positive non-integer such as 0.5, 0.8, 1.2, 1.5, 1.9, 2.3, or 2.5, . . . , etc.). The oscillation amplitude magnification K and the oscillation frequency magnification I are constant (in the example of FIG. 5, I is 1.5).

The reason why the oscillation frequency magnification I is not an integer is that in the case of an oscillation frequency which is exactly the same as the rotation number around the center axis of workpiece W, it is impossible to generate the overlapping portions B1, B2, B3, B4 and the like described above, and an effect of shredding swarf though oscillation cutting cannot be obtained.

Furthermore, according to Formula (1), the oscillation command is a command in which the expression (K×F/2) is subtracted as an offset value from the cosine waves using dashed lines C1, C2 and C3 as reference axes indicating the position command. Thus, the positional trajectory of the tool 11 based on the command value obtained by adding the oscillation command to the position command can be controlled with the position by the position command as the upper limit in the machining feed direction of the tool 11. Therefore, curves A1, A2, A3, etc., in FIG. 7 are such that the dashed lines C1, C2, C3, etc., are not exceeded in the positive Z axis direction (i.e., the machining feed direction of the tool 11).

Further, using an oscillation command as represented by Formula (1), large oscillation commands are not issued from the start in the feed direction of the tool 11 at the machining start point (0 degrees on the horizontal axis) of the tool 11, as can be seen from curve A1 in FIG. 5.

Note that, the initial value of each parameter (K and I in Formula (1)) adjusted when defining the oscillating frequency and the oscillating amplitude is stored in the machining conditions storage part 29 before the machine tool 10 is operated. The rotation speed (S) of the workpiece W is stored in advance as a machining condition in the machining conditions storage part 29. The feed amount per rotation F is obtained from the rotation speed (S) and the position command generated by the position command generation part 22.

Thereafter, in step S13, the control part 26 obtains the position deviation, which is the difference between the position command generated by the position command generation part 22 shown in FIG. 1 and the actual position of the feed axis M1, and adds the position deviation to the above oscillation command to obtain a resultant command.

Then, in step S14 of FIG. 2, the control part 26 controls the feed axis M1 based on the aforementioned resultant command. The spindle M0 is controlled by the control device 20 in accordance with the rotation speed (S) of the workpiece W stored in the machining conditions storage part 29. In the present embodiment, there is no need to generate a table of vibration cutting information in advance, and from the machining conditions of the workpiece W, it is possible to determine the shredding conditions of the workpiece W prior to actually cutting the workpiece W.

When there is backlash in the drive mechanism portion of the tool 11 or when the rigidity of the drive mechanism portion is low, if the control gain is set high in order to improve the responsiveness of the servo, vibration may occur and the positional accuracy of the tool 11 may not be stable. For example, even if the feed axis M1 is driven based on command values corresponding to curves A1, A2, A3, etc., the actual position of the tool 11 may not completely follow curves A1, A2, A3, etc., in some cases. In such a case, if the actual position of the tool 11 does not coincide with the command values, such as the curves A1, A2, A3 etc., at the overlapping portions B1, B2, B3, B4, etc., shown in FIG. 5, intermittent cutting will not occur and as a result, swarf cannot be satisfactorily formed.

Thus, in the present embodiment, learning control is used to improve compliance with the oscillation command, as shown in step S15 of FIG. 2. Learning control is a control method that improves compliance with a “periodic command with a predetermined repeated pattern”, and the position deviation can be decreased as the cycle progresses from the first cycle to the second cycle, the second cycle to the third cycle, etc. Specifically, position deviations for a predetermined number of oscillation cycles of the workpiece W and the tool 11 are learned and set as correction amounts, thereby preventing an increase in periodic position deviation caused by the oscillation command.

As a result, the actual position of the tool 11 gradually approaches the command value curves A1, A2, A3, etc., and ultimately coincides with the command value curves A1, A2, A3, etc. In such a case, since the command value curves A1, A2, A3, etc., have overlapping portions B1, B2, B3, B4, etc., as described above, intermittent cutting can be reliably performed, and the swarf can be reliably shredded.

Furthermore, learning bandwidth for learning control has an upper limit, and when the oscillation frequency exceeds the upper limit, learning does not converge and position deviation remains. As a result, swarf is not satisfactorily formed. Therefore, in the present embodiment, it is necessary to obtain an optimum oscillation frequency within a range where learning control can be performed.

Specifically, similarly to a torque reduction method, the oscillation frequency of the oscillation command can be kept low by adjusting (lengthening) the length of the swarf, as described later, and the learning bandwidth can be accommodated. Of course, if modification of machining conditions is possible, the rotation speed of the spindle M0 (i.e., the rotation speed of workpiece W) may be reduced.

Furthermore, in the oscillation cutting of the present embodiment, since the optimum oscillation frequency and oscillation amplitude are obtained, the required torque can be minimized. However, if the required torque can be minimized, torque saturation can occur, which must be prevented. Further, when learning control is applied, the torque increases and torque saturation becomes more likely to occur. Thus, in the present embodiment, it is necessary to obtain an optimum oscillation frequency and oscillation amplitude within a range which will not cause torque saturation.

The oscillation amplitude is preferably as small as possible so that, when the oscillation frequency is low, longer swarf is formed. At such a time, the torque required for the feed axes M1, M2, etc., can be small. Conversely, when the oscillation amplitude is large, the torque required for the feed axes M1, M2, etc., also increases. When the oscillation frequency is high, the length of the swarf becomes short, and the torque required for the feed axis M1, M2, etc., also increases.

When an operator requires a desired length of swarf, the operator can enter the desired length of the swarf into the oscillation command generation part 23. As a result, the oscillation command generation part 23 generates the oscillation frequency and the oscillation amplitude based on the desired swarf length. For example, when short swarf is requested, damage to the workpiece W can be prevented, and when long swarf is requested, the load on the tool 11 can be reduced by suppressing the torque and learning bandwidth, allowing for learning to more easily converge.

FIG. 6 is a block diagram showing a specific example of the control device 20 having the learning control function as described above.

The control device 20 shown in FIG. 6 includes the machining conditions storage part 29, the position command generation part 22, and the control part 26 (feed axis control part). The machining conditions storage part 29 and the position command generation part 22 may be provided in a host computer (not shown), such as an NC device connected to the control device 20.

The control device 26 includes the oscillation command generation part 23, an adding part 24, a subtracting part 25, a learning controller 30, a learning determination part 31, a position speed control part 34, and a notification part 36. Further, the oscillation command generation part 23 has an oscillation command calculation part 23 a for calculating an oscillation command using the above-described Formula (1). The feed axis M1 for moving the tool 11 in the machining feed direction is equipped with an encoder 32 for detecting the rotational position of the feed axis M1.

The position command generation part 22 shown in FIG. 6 generates a position command instructing the feed axis M1 of the position of the tool 11 in the machining feed direction based on the rotation speed of the workpiece W and the feed speed of the tool 11 stored in the machining conditions storage part 29, and transmits the position command to the subtracting part 25 at predetermined time intervals. The above predetermined time intervals may be the control period (sampling period) of the control part 26, or may be some another period.

The subtracting part 25 calculates the position deviation, which is the difference between the position command transmitted from the position command generation part 22 and the position feedback value (position FB) output from the encoder 32 of the feed axis M1, and transmits the position deviation to the adding part 24.

Further, the oscillation command generation part 23 generates an oscillation command based on the above-described Formula (1), and transmits the oscillation command to the adding part 24 at the above predetermined time intervals. The oscillation command is calculated by the oscillation command calculation part 23 a in the oscillation command generation part 23. Specifically, the oscillation command calculation part 23 a acquires the rotation speed (S) of the workpiece W stored in the machining conditions storage part 29 and the position command of the feed axis M1 generated by the processing command generation part 22, and obtains the feed amount (F) of the tool 11 per rotation from the position command and the rotation speed (S). The oscillation command calculation part 23 a calculates the oscillation frequency and the oscillation amplitude of the oscillation command according to the above Formula (1) based on the feed amount (F) of the tool 11 per rotation, the rotation speed (S) of workpiece W, and the like. The oscillation command calculation part 23 a generates an oscillation command based on the calculated oscillation frequency and oscillation amplitude and the elapsed time t from the start of oscillation cutting.

The adding part 24 adds the position deviation output from the subtracting part 25 to the oscillation command. At such a time, the position deviation and the oscillation command are input to the adding part 24 simultaneously with each other at the above-mentioned predetermined intervals and are added together. The adding part 24 transmits the resultant command (position command value) obtained by adding the position deviation to the oscillation command, to the position speed control part 34.

The position speed control part 34 generates a speed command and a torque command based on the resultant command and supplies the speed command and torque command to the feed axis M1. The feed axis M1 is controlled based on such commands. When the feed axis M1 rotates, the actual position of the feed axis M1 is fed back to the subtracting part 25 from the encoder 32 mounted on the feed axis M1. If there is no difference between the position command value and the position feedback value based on the resultant command, it means that the actual position of the feed axis M1 has arrived at the command position.

The above resultant command is input to the learning controller 30. The learning controller 30 repeatedly calculates the correction amount based on the oscillation phase obtained from the oscillation command and the resultant command and corrects the resultant command to improve compliance with the periodic operation.

The learning control is a control that improves compliance with the periodic command by correcting the movement command by integrating the deviation up to the prior learning period.

FIG. 7 is a block diagram showing a configuration example of the learning controller 30 shown in FIG. 6.

The resultant command output from the adding part 24 at the above-mentioned predetermined time intervals is input to the learning controller 30. Though the resultant command is input to the learning controller 30, since the resultant command contains the difference between the position command and the position feedback value, it is generally the same as the position deviation input to the learning controller. In the learning controller 30, data regarding one cycle of oscillation (one learning cycle) is stored in the memory 30 b for each phase. Each phase is obtained by converting the cycle obtained from the oscillation frequency of the oscillation command into the cycle at the rotation angle and dividing the cycle at the rotation angle by a predetermined number of divisions (referred to as oscillation phase). The learning controller 30 obtains the deviation at each phase stored in the memory 30 b from the oscillation phase obtained from the oscillation command and the inputted resultant command (deviation), and adds it to the data of each phase stored in the memory 30 b. By such a series of processes, it is possible to iteratively obtain the integrated deviation at each phase.

The integrated deviation stored in the memory 30 b is compensated by the dynamic characteristic compensating element 30 c for the phase delay of the to-be-controlled object and is a correction amount according to the time for each control cycle of the control part 26. This correction amount is added as a correction amount to the resultant command immediately before being input to the position speed control part 34. The position speed control part 34 generates and outputs the speed command Vc based on the resultant command after the correction amount has been added.

As described above, since the learning controller 30 repeatedly obtains the integrated deviation at each phase and adds the correction amount the delay of the to-be-controlled object of which has been compensated by the dynamic characteristic compensating element 30 c to the resultant command, it is possible to converge the resultant command (deviation) input to the learning controller 30 to zero while repeating periodic operations, such as oscillating the tool 11 at a constant cycle many times. In short, the tool 11 can be oscillated in accordance with the oscillation command.

Thus, even if it is difficult to improve the response of the servo due to the existence of backlash in the drive mechanism of the tool 11 or due to the low rigidity of the drive mechanism, more accurate oscillation cutting becomes possible, and the swarf can be reliably shredded. Note that, in the embodiment of the learning control described above, learning is performed to obtain a correction amount for the resultant command for each oscillation period using a single oscillation period as the learning period. However, in the present invention, rather than a single oscillation period, a predetermined number of oscillation periods may be set as the learning period.

Like the workpiece W shown in FIG. 1, workpieces which are formed such that a projection 35 and a corner part 35 a are provided on at least a part of the outer surface of the workpiece and in which the projection 35 exists on the front side of the tool 11 in the machining feed direction can also be subjected to oscillation cutting. In such a case, though the outer surface of the workpiece W is subjected to oscillation cutting, since it is necessary to prevent the tool 11 from interfering with the projection 35, positional accuracy with respect to the machining end point in the machining feed direction of the tool 11 is critical. If the tool exceeds the machining end point, the projection 35 will be cut by the tool 11, bringing about the so-called “overshoot” problem. The workpieces for which this problem occurs are not limited to workpieces shaped as in FIG. 1. Workpieces for which this problem occurs are workpieces which are rotationally symmetric about the center axis thereof, and have a corner part 35 a which is not continuous with the radially outermost part radially inward of the radially outermost part of the workpiece in a cross-section along the central axis thereof. For example, the workpieces W shown in FIGS. 1, 4A and 4B. Furthermore, the above corner part 35 a also encompasses portions having a predetermined curvature or tapered portions.

Such a problem of overshoot with respect to the workpiece W can occur even if learning control is applied to oscillation cutting as described above. This is because learning control is a control to apply the correction amount in the repetition of the periodic pattern one learning period prior to the command value. Even if a position command value such that the tool 11 does not exceed the machining end point is outputted to the control part 26 (FIG. 6) of the control device 20 as the resultant command, a correction amount in the oscillation pattern one learning period prior is applied to the position command value, such that overshoot cannot be prevented.

The control device 20 of the present embodiment has a function to deactivate the learning controller 30 from a time prior to the point where the tool 11 reaches the machining end point on the workpiece in the machining feed direction (i.e., the final stop position of the tool 11).

Specifically, information on the workpiece W (for example, the rotation speed of the workpiece W, the position, trajectory, and velocity of the tool 11, etc.) being machined and the operation of the tool 11 is input to the machining conditions storage part 29 from the host computer connected to the control device 20. In the case of the feedback control system as shown in FIG. 6, if the machining end point as a position command value is entered into the control part 26, as the position of the tool 11 approaches the machining end point, the position deviation, which is the difference between the position command and the actual position of the feed axis M 1, gradually decreases, and the feed speed of tool 11 also decreases. As a result, the control part 26 can determine that the position of the tool 11 has approached the machining end point. The learning determination part 31 obtains the feed speed of the feed axis M1 and the tool 11 from the output pulse of the encoder 32, and calculates the oscillation amplitude by applying the feed amount F per rotation obtained from this feed speed and the rotation speed of the workpiece W to the expression K×F/2 (where K is a constant) of Formula (1).

The learning determination part 31 determines whether or not the calculated oscillation amplitude is smaller than the predetermined threshold value, and when it is determined that the oscillation amplitude is smaller than the predetermined threshold value, the learning controller 30 turns off the learning control. By including such a learning determination part 31, the occurrence of the above-described overshoot can be prevented. Note that, in FIG. 6, the signal line from the encoder 32 to the learning determination part 31 is omitted.

Any method may be used as the method for turning off the above-described learning control. As shown in FIG. 7, a first switch 30 d is provided on the input line for inputting the resultant command output from the adding part 24 to the learning controller 30, and a second switch 30 e is provided on the output line for outputting the correction value from the dynamic characteristic compensation element 30 c. For example, the learning controller 30 may be configured to turn off the first switch 30 d and erase the accumulated deviation for one learning period stored in the memory 30 b upon receiving an instruction to turn off learning control from the learning determination part 31.

Alternatively, the learning controller 30 may be configured to turn off the first switch 30 d and the second switch 30 e simultaneously upon receiving an instruction to turn off the learning control from the learning determination part 31. As a result of this configuration, even if the learning controller 30 is turned off, it is possible to preserve the integrated deviation for one cycle of learning stored in the memory 30 b. Of course, the above-described method for turning off the learning control is merely an example, and the present invention is not limited thereto.

FIG. 8A is a drawing showing the actual behavior of the tool 11 near the machining end point in the case where the control part 26 of the control device 20 shown in FIG. 6 does not have a learning determination part 31. In FIG. 8A, the positive direction of the vertical axis corresponds to the machining feed direction of the tool 11, curve P represents the time change of only the position command, curve Q represents the time change of the position command after the oscillation command has been added thereto, and curve R represents the time change of the actual position of the tool 11. In FIG. 8A, in order to clearly show the change of the curve R, curve Q between time t₁ and time t₃ has been omitted, but curve Q and curve R actually overlap each other. Furthermore, FIG. 8B is a drawing corresponding to FIG. 8A. Polygonal line H represents the time change in the position command per unit time (i.e., the feed speed of tool 11) corresponding to the position command indicated by curve P in FIG. 8A, and polygonal line J represents the time variation of the oscillation amplitude.

For example, as shown in FIG. 8B, the feed speed of the tool 11 gradually decreases from time t₃, and at time t₅, the tool 11 stops at the predetermined machining end point (refer to the polygonal line H). When the feed speed is gradually decreased in this manner, the feed amount F per rotation decreases, and accordingly, the oscillation amplitude (=K×F/2) also gradually decreases, becoming zero at time t₅ (refer to the polygonal line J). Furthermore, as the oscillation amplitude gradually decreases, the oscillation command obtained from Formula (1) also gradually decreases. Thus, as shown in FIG. 8A, regarding curve Q of the position command after the oscillation command has been added thereto, the amplitude of the periodic wavy line forming curve Q decreases from time t₃, and the amplitude of the wavy line disappears at time t₅ at which the oscillation amplitude becomes zero.

Conversely, in the example of FIG. 8A, since the control part 26 of the control device 20 shown in FIG. 6 does not include a learning determination part 31, learning control is carried out. As a result, even if the amplitude of the periodic wavy line forming the curve Q periodically decreases from time t₃ to time t₅ as described above, learning control for correcting the resultant command at the present time is continued using the correction amount obtained for the resultant command one cycle prior. As a result, as can be understood from FIG. 8A, after time t₃, curve R of the actual position does not coincide with curve Q of the position command after the oscillation command has been added thereto. More specifically, as the time elapses from time t₃ to time t₅, the amplitude of the wavy line forming curve R of the actual position becomes larger than the amplitude of the wavy line forming curve Q, and curve R of actual position exceeds the machining end point in the machining feed direction. So-called “overshoot” occurs.

In contrast thereto, FIG. 9A is a drawing showing the actual behavior of the tool near the machining end point in the case of the control device 20 shown in FIG. 6, i.e., a control device 20 having a learning determination part 31. In FIG. 9A, curve P represents the time change of only the position command (i.e., the same as curve P in FIG. 8A), curve Q′ represents the time change of the position command after the oscillation command has been added thereto, and curve R′ represents the time change of the actual position of the tool 11. Also in FIG. 9A, in order to clearly show the change of curve R′, curve Q′ from time t₁ to time t₃ is omitted, but, curve Q′ and curve R′ actually overlap each other. Furthermore FIG. 9B is a drawing which corresponds to FIG. 9A, and in this drawing, polygonal line H represents the time change of the position command per unit time (i.e., the same as polygonal line H in FIG. 8B), and curve J′ represents the time change of the oscillation amplitude.

As shown in FIG. 9B, by gradually decreasing the feed speed of the tool 11 from time t₃ (refer to polygonal line H), the oscillation amplitude gradually decreases (refer to polygonal line J′). This is the same as curve J in FIG. 8B. Compared to the example of FIG. 8A, in the example of FIG. 9B, when the oscillation amplitude is lower than the predetermined threshold value, the learning control is stopped (learning control is turned off). Further, when the oscillation amplitude is smaller than the predetermined threshold value, the oscillation command thereof becomes zero. Specifically, when the learning determination part 31 shown in FIG. 6 determines that the oscillation amplitude is smaller than the predetermined threshold value, an instruction to turn off the learning control is issued to the learning controller 30, the learning controller 30 is stopped, and the oscillation command to be outputted to the adding part 24 is set to zero.

As a result, as shown in FIG. 9A, since there is no oscillation command and learning control is not carried out after the oscillation value becomes smaller than the predetermined threshold value, curve Q′ of the position command after the oscillation command has been added thereto will become coincident with curve P of the position command. Accordingly, the amplitude of the periodic wavy line forming curve R′ rapidly decreases such that curve R′ of the actual position coincides with curve P of the position command. By setting the predetermined threshold value appropriately, as shown in FIGS. 9A and 9B, curved line R of the actual position does not exceed the machining end point in the machining feed direction. The occurrence of the so-called “overshoot” can be prevented.

In the examples of the above-explained FIGS. 9A and 9B, when the oscillation amplitude is lower than the predetermined threshold, the oscillation command sent to the adding part 24 was set to zero and the learning control by the learning controller 30 was turned off, but only the learning control may be turned off.

As long as the learning control is turned off, the correction amount obtained for the resultant command one oscillation period or a predetermined number of oscillation periods prior is not added to the current resultant command. Namely, since it is possible to prevent the phenomenon in which the difference between the amplitude of the periodic wavy line forming the curve R as shown in FIG. 8A and the amplitude of the periodic wavy line forming the curve Q become large over time, even if only learning control is turned off, the effect of preventing overshoot can be obtained. Of course, it is better to both turn off the learning control and zero the oscillation command, as described above, since the amplitude of the periodic wavy line forming the curve R′ in FIG. 9A can be rapidly reduced, further enhancing the effect of preventing overshoot.

Note that, when it is determined whether or not the above-described oscillation amplitude is smaller than the predetermined threshold value, as the predetermined threshold value, an absolute value defined with reference to zero may be used, or a relative value determined based on the oscillation amplitude when the position command per unit time determined from the position command transmitted by the position command generation part 22 to the control part 26 is a constant speed may be used.

Furthermore, as described above, the timing at which the learning control is turned off and the oscillation command is set to zero may be the timing at which the oscillation command first becomes zero after the oscillation amplitude becomes smaller than the predetermined threshold value. Such timing is when the position command after the addition of the oscillation command matches the original position command, like the portion of the curve Q′ at the time t_(a) shown in FIG. 9A. In the case of FIG. 5, this corresponds to the phase of 0°, 120°, 240°, and 360°. According to the above timing, while the tool 11 is being moved by the position command after the oscillation command has been added thereto, it is possible to prevent the movement of the tool 11 from being very instantaneously switched largely to the movement by only the position command. Therefore, it is not necessary to apply a sudden load to the motor.

Further, like the examples shown in FIGS. 3 and 4B, even if the tool 11 is oscillated using a plurality of axes such as the feed axes M1, M2, etc. (e.g., taper machining), it is preferable to synchronize the timing of turning off the learning control and the timing of zeroing the oscillation command, or the timing of only turning off the learning control, for all of the axes.

For example, when performing taper machining as shown in FIGS. 3 and 4B, control parts 26 are provided for the respective feed axes M1 and M2. In such a case, as shown in FIG. 6, each of the control parts 26 of each of the feed axes M1 and M2 includes an oscillation command generation part 23, an adding part 24, a subtracting part 25, a learning controller 30, a learning determination part 31, a position speed control part 34, and a notification unit 36. Furthermore, as shown in FIG. 6, the notification unit 36 is provided in the learning determination part 31 of the control part 26 of the feed axis M1, and the learning determination part 31 notifies the determination result of the learning determination part 31 to the learning determination part 31 of the control part 26 of the other feed axis M2 (refer to FIG. 3) using the notification part 36.

Through the use of such a notification function, with regard to the control part 26 of one feed axis among the plurality of feed axes which cooperate to perform oscillation cutting, when the learning determination part 31 receives a determination result to turn off learning control and set the oscillation command to zero or only to turn off the learning control, for the control parts 26 of all other feed axes, it is possible to turn off learning control and set the oscillation command to zero, or to only turn off learning control.

In other words, when a control part 26 is provided for each of a plurality of feed axes, it is preferable for the learning determination part 31 of the control part 26 for each feed axis to use at least one of the determination result of whether or not the oscillation amplitude of the oscillation command is smaller than the above predetermined threshold value and the determination result notified from the learning determination part 31 of another control part 26 to determine whether to both turn off the learning control and set the oscillation command to zero or to turn off learning control only.

Furthermore, in the machine tool 10 shown in, for example, FIG. 3, when oscillation cutting is performed using a plurality of axes such as feed axes M1 and M2, like the above taper machining, in such a case, the position command generation part 22 generates and outputs a position command to the control part 26 of each of the feed axes M1 and M2. In such a case, the predetermined threshold value necessary for the learning determination part 31 of each control part 26 for each feed axis to determine whether to turn off learning control may be determined according to the magnitude of the position command (i.e., the feed speed for each feed axis) generated by the position command generation part 22 for each feed axis. Thus, it is preferable that the position command generation part 22 calculate the above predetermined threshold value for each feed axis using the ratio between the feed speed of the tool 11 moved by the plurality of feed axes and the position command generated for each feed axis, and notify the learning determination part 31 of each control part 26. As a result, even if the machining path for oscillating the tool 11 with respect to the workpiece W is a tapered or arcuate path, by determining the magnitude of the position command of each feed axis, it can be determined whether to both turn off learning control and set the oscillation command to zero or to only turn off the learning control. Thus, it is possible to appropriately prevent the occurrence of overshoot even when oscillation cutting is performed using a plurality of axes.

Further, when performing oscillation cutting using a plurality of feed axes M1, M2, etc., the position command generation part 22 may be configured to notify the learning determination part 31 of the control part 26 of the feed speed of the tool 11 and the threshold value related to this feed speed. In such a case, the learning determination part 31 may use at least one of the determination result of whether or not the oscillation amplitude of the oscillation command is smaller than the above predetermined threshold value and the determination result of whether or not the feed speed of the tool 11 notified from the position command generation part 22 is smaller than the threshold value for the feed speed to determine whether to both turn off the learning control and set the oscillation command to zero or to turn off learning control only. The feed speed of the tool 11 referred to here is the feed speed of the movement of the tool 11 using all of the feed axes. The feed speed of the tool 11 can be obtained from a machining program stored in the machining conditions storage part 29 of the control device 20 or in a host computer connected to the control device 20. Even with such a method, as in the case of determining the magnitude of the oscillation amplitude of the oscillation command, an overshoot prevention effect can be obtained.

Although the present invention has been described with reference to exemplary embodiments, a person skilled in the art can understand that the above-described modifications of the embodiments and various other modifications, omissions, and additions can be made without departing from the scope of the present invention.

Furthermore, in order to solve the at least one problem of the present disclosure, various embodiments and the effects thereof, as described below, can be provided.

The first aspect of the present disclosure provides a control device (20) for controlling a machine tool (10) for cutting an outer peripheral surface or an inner peripheral surface of a workpiece (W) with a tool (11), the machine tool having a spindle (M0) for performing a relative rotation between the workpiece and the tool around a central axis of the workpiece, and at least one feed axis (M1, M2) for performing a relative feeding between the tool and the workpiece along a generatrix of the outer peripheral surface or the inner peripheral surface of the workpiece, the control device comprising:

a position command generation part (22) for generating a position command for the at least one feed axis (M1, M2) based on a relative rotation speed of the workpiece (W) and the tool (11) and a relative feed speed of the tool (11) and the workpiece (W); and

a feed axis control part (26) that controls the at least one feed axis (M1, M2) according to the position command,

the feed axis control part having an oscillation command generation part (23) that generates an oscillation command for the at least one feed axis based on the rotation speed and the position command such that the tool (11) intermittently cuts the workpiece (W) at an oscillation frequency which is a positive non-integral multiple of the rotation speed, and the feed axis control part being configured to control the at least one feed axis (M1, M2) based on a resultant command obtained by adding the oscillation command to a position deviation, which is a difference between the position command and an actual position of the at least one feed axis (M1, M2), the feed axis control part further comprising:

a learning controller (30) that obtains a correction amount of the resultant command based on an oscillation phase obtained from the oscillation command and the resultant command and which adds the correction amount to the resultant command; and

a determination part (31) which determines whether or not an oscillation amplitude of the oscillation command is smaller than a predetermined threshold value, and when the oscillation amplitude is smaller than the predetermined threshold value, the determination part turns off the learning control and sets the oscillation command generated by the oscillation command generating part to zero or only turns off the learning control.

According to the above first aspect, even if the learning control, which decreases the oscillation amplitude approaching the machining end point, is applied to the oscillation cutting, since the learning control is turned off when the oscillation amplitude becomes smaller than the predetermined threshold value, occurrence of overshoot can be prevented.

The second aspect of the present disclosure provides the control device (20) of the above first aspect, wherein

the predetermined threshold value is an absolute value determined on a zero basis, or is a relative value determined on the basis of the oscillation amplitude of the oscillation command when the position command per unit time is constant.

The third aspect of the present disclosure provides the control device (20) of the above first aspect or the second aspect, wherein the timing at which both the learning control is turned off and the oscillation command is set to zero by the determination part (31) is a timing at which the oscillation command first becomes zero after the oscillation amplitude of the oscillation command becomes smaller than the predetermined threshold value.

According to the above third aspect, while moving the tool with the position command after the oscillation command has been added thereto, since it is possible to prevent the tool from being switched largely to the movement of the tool only by the position command very instantaneously, a sudden load is not applied to the motor.

The fourth aspect of the present disclosure provides the control device (20) of any of the above first aspect to the third aspect, wherein a feed axis control part (26) is provided for each of a plurality of feed axes (M1, M2), and the determination part (31) of each feed axis control part (26) notifies all of the determination parts (31) of the feed axis control parts (26) of a determination result when it is determined that the oscillation amplitude of the oscillation command is smaller than the predetermined threshold, and the determination part (31) of each feed axis control part (26) uses at least one of a determination result of whether or not the oscillation amplitude of the oscillation command is smaller than the predetermined threshold value and a result of the determination notified from the determination part (31) of another feed axis control part (26) to determine whether to both turn off the learning control and set the oscillation command generated by the oscillation command generation part (22) to zero or to only turn off the learning control.

According to the above fourth aspect, even when performing oscillation cutting using a plurality of feed axes, like in taper machining, the same overshoot prevention effect as in the first aspect can be achieved.

The fifth aspect of the present disclosure provides the control device (20) of any of the above first aspect through the forth aspect, wherein the position command generation part (22) calculates the predetermined threshold value from the feed speed and the position command of the feed axis and notifies the determination part (31).

According to the above fifth aspect, when performing oscillation cutting using a plurality of feed axes, like in taper machining, it is possible to prevent overshoot more appropriately.

The sixth aspect of the present disclosure provides the control device (20) of any of the above first aspect to the forth aspect, wherein the position command generation part (22) is configured to notify the determination part (31) of the feed speed and a threshold value for the feed speed, and the determination part (31) uses at least one of a determination result of whether or not the oscillation amplitude of the oscillation command is smaller than the predetermined threshold value and a determination result of whether or not the feed speed notified from the position command generation part (23) is smaller than the threshold value for the feed speed to determine whether to both turn off the learning control and set the oscillation command generated by the oscillation command generation part to zero or to only turn off the learning control.

According to the above sixth aspect, the same overshoot prevention effect as in the fifth aspect can be achieved.

The seventh aspect of the present disclosure provides the control device (20) of any of the above first aspect to the sixth aspect, wherein the oscillation command generation part (23) generates the oscillation command by subtracting the oscillation amplitude from a reference axis of a cosine wave as an offset value.

According to the above seventh aspect, it is possible to control the position of the tool, with the position command, which is the target position of the tool in the machining feed direction, based on the command value after the oscillation command has been added to the position command as the upper limit.

The eighth aspect of the present disclosure provides the control device (20) of any of the above first aspect to the seventh aspect, wherein the oscillation command generation part (23) generates an oscillation frequency of the oscillation command such that the workpiece (W) or the tool (11) is shifted by a half-cycle each time the workpiece (W) or the tool (11) makes one revolution based on the rotation speed, and generates the oscillation amplitude of the oscillation command based on the rotation speed and the position command.

According to the above eighth aspect, since the oscillation frequency of the oscillation command is shifted by a half-cycle each time the workpiece or the tool makes one revolution, the oscillation amplitude can be minimized. As a result, intermittent cutting can be efficiently performed.

The ninth aspect of the present disclosure provides the control device (20) of any of the above first aspect to the eighth aspect, wherein the oscillation command generation part (23) generates the oscillation frequency and the oscillation amplitude such that the torque of the at least one feed axis (M1, M2) does not exceed a predetermined value.

According to the above ninth aspect, when the feed axis is driven based on the position command after the oscillation command has been added thereto, motor torque saturation can be prevented.

The tenth aspect of the present disclosure provides the control device (20) of any one of the above first aspect to the seventh aspect, wherein the oscillation command generation part (23) generates the oscillation frequency and the oscillation amplitude based on a control band of the learning controller so that learning converges.

According to the above tenth aspect, a more suitable oscillation command can be obtained.

The eleventh aspect of the present disclosure provides the control device (20) of any of the above first aspect to the tenth aspect, wherein the oscillation command generation part (23) generates the oscillation frequency and the oscillation amplitude based on a desired length of swarf generated by the tool (11) processing the workpiece (W).

According to the eleventh aspect, when short swarf is requested, damage to the workpiece can be prevented. When long swarf is requested, it is possible to suppress the torque and reduce the load on the tool.

The twelfth aspect of the present disclosure provides the control device (20) of any of the above first to the eleventh aspect, wherein the workpiece (W) comprises a corner portion (35 a) which is not continuous with the radially outermost portion of the workpiece on the side which is more radially inwards than the radially outermost part in a cross-section along the central axis thereof. 

1. A control device for controlling a machine tool for cutting an outer peripheral surface or an inner peripheral surface of a workpiece with a tool, the machine tool having a spindle for performing a relative rotation between the workpiece and the tool around a central axis of the workpiece, and at least one feed axis for performing a relative feeding between the tool and the workpiece along a generatrix of the outer peripheral surface or the inner peripheral surface of the workpiece, the control device comprising: a position command generation part for generating a position command for the at least one feed axis based on a relative rotation speed of the workpiece and the tool and a relative feed speed of the tool and the workpiece; and a feed axis control part that controls the at least one feed axis according to the position command, the feed axis control part having an oscillation command generation part that generates an oscillation command for the at least one feed axis based on the rotation speed and the position command such that the tool intermittently cuts the workpiece at an oscillation frequency which is a positive non-integral multiple of the rotation speed, and the feed axis control part being configured to control the at least one feed axis based on a resultant command obtained by adding the oscillation command to a position deviation, which is a difference between the position command and an actual position of the at least one feed axis, the feed axis control part further comprising: a learning controller that obtains a correction amount of the resultant command based on an oscillation phase obtained from the oscillation command and the resultant command and which adds the correction amount to the resultant command; and a determination part which determines whether or not an oscillation amplitude of the oscillation command is smaller than a predetermined threshold value, and when the oscillation amplitude is smaller than the predetermined threshold value, the determination part turns off the learning controller and sets the oscillation command generated by the oscillation command generating part to zero or only turns off the learning controller.
 2. The control device according to claim 1, wherein the predetermined threshold value is an absolute value determined on a zero basis, or is a relative value determined on the basis of the oscillation amplitude of the oscillation command when the position command per unit time is constant.
 3. The control device according to claim 2, wherein the timing at which both the learning control is turned off and the oscillation command is set to zero by the determination part is a timing at which the oscillation command first becomes zero after the oscillation amplitude of the oscillation command becomes smaller than the predetermined threshold value.
 4. The control device according to claim 1, wherein a feed axis control part is provided for each of a plurality of feed axes, and the determination part of each feed axis control part notifies all of the determination parts of the feed axis control parts of a determination result when it is determined that the oscillation amplitude of the oscillation command is smaller than the predetermined threshold, and the determination part of each feed axis control part uses at least one of a determination result of whether or not the oscillation amplitude of the oscillation command is smaller than the predetermined threshold value and a result of the determination notified from the determination part of another feed axis control part to determine whether to both turn off the learning control and set the oscillation command generated by the oscillation command generation part to zero or to only turn off the learning controller.
 5. The control device according to claim 1, wherein the position command generation part calculates the predetermined threshold value from the feed speed and the position command of the feed axis and notifies the determination part.
 6. The control device according to claim 5, wherein the position command generation part is configured to notify the determination part of the feed speed and a threshold value for the feed speed, and the determination part uses at least one of a determination result of whether or not the oscillation amplitude of the oscillation command is smaller than the predetermined threshold value and a determination result of whether or not the feed speed notified from the position command generation part is smaller than the threshold value for the feed speed to determine whether to both turn off the learning control and set the oscillation command generated by the oscillation command generation part to zero or to only turn off the learning control.
 7. The control device according to claim 1, wherein the oscillation command generation part generates the oscillation command by subtracting the oscillation amplitude from a reference axis of a cosine wave as an offset value.
 8. The control device according to claim 1, wherein the oscillation command generation part generates an oscillation frequency of the oscillation command such that the workpiece or the tool is shifted by a half-cycle each time the workpiece or the tool makes one revolution based on the rotation speed, and generates the oscillation amplitude of the oscillation command based on the rotation speed and the position command.
 9. The control device according to claim 1, wherein the oscillation command generation part generates the oscillation frequency and the oscillation amplitude such that the torque of the at least one feed axis does not exceed a predetermined value.
 10. The control device according to claim 1, wherein the oscillation command generation part generates the oscillation frequency and the oscillation amplitude based on a control band of the learning controller so that learning converges.
 11. The control device according to claim 1, wherein the oscillation command generation part generates the oscillation frequency and the oscillation amplitude based on a desired length of swarf generated by the tool processing the workpiece.
 12. The control device according to claim 1, wherein the workpiece comprises a corner portion which is not continuous with the radially outermost portion of the workpiece on the side which is more radially inwards than the radially outermost part in a cross-section along the central axis thereof. 